const compontentGenerator = require('./_plop/generator/component');
const viewGenerator = require('./_plop/generator/view');

/**
 * 自动创建项目模版
 * @param {*} plop
 * 使用方式：
 * 1:npm run add:c
 * 2:vsCode 点击运行脚本（add:c）
 *
 * add:c 创建一个组件
 * add:v 创建一个页面
 */

module.exports = (plop) => {
  plop.setHelper('jsType', (text) => (text.includes('tsx') ? 'tsx' : 'jsx'));
  plop.setHelper('cssType', (text) => (text.includes('scss') ? 'scss' : 'css'));
  plop.setHelper('cssModule', (text) => (text.includes('cssModule') ? '.module' : ''));
  plop.setHelper('ifTs', function (options) {
    const { data } = options;
    const { root } = data;
    if (root.codeType.includes('tsx')) {
      return options.fn(this);
    } else {
      return options.inverse(this);
    }
  });
  plop.setHelper('ifCssModule', function (options) {
    const { data } = options;
    const { root } = data;
    if (root.codeType.includes('cssModule')) {
      return options.fn(this);
    } else {
      return options.inverse(this);
    }
  });

  plop.setGenerator('compontent', compontentGenerator);
  plop.setGenerator('view', viewGenerator);
};
